معرفی شبکههای چندالیه الگوریتم آموزش شبکههای چندالیه نحوه استخراج قانون پسانتشار خطا نکات تکمیلی درباره شبکههای چندالیه کاربردهای شبکه چندالیه
یادآوری: شبکه عصببی چندالیبه پیشبخور )feed-forward multilayer NN( تفکیبببو سبببلوبهبببای عصببببی ببببه زیرمجموعههایی به نام الیه. هر الیه ورودی خود را فقب از الیبه قبب دریافت میکند. تحوی الگوهای ورودی به الیه اوب. دریافت خروجیها از خروجی الیه نهایی. الیه میانی )مخفی(: مجموعه سلوبهایی کبه در الیه ورودی یا خروجی قرار ندارند. وظیفه سلوبهای هر الیه: جمعبنبدی نتبای سلولهای الیه قب. Input layer Hidden layers Output layer
x 2 x 1 پیچیبده شبدن سباختار شببکه عصبی چه نقشی در مسایلی که شبکه می تواند ح کند خواهبد داشت x 2 یو سلوب عصبی مساله دوکالسه تفکیو پذیر خطی شبکه یو الیه مسبای چندکالسبه تفکیبو پبذیر خطی x 1
x 2 x 2 x 1 x 1 شبکه با یو الیه مخفی وظیفه الیه مخفی: تقسیم فضای ورودی به کالسهای تفکیو شده خطی وظیفه الیه خروجبی )شببکه(: اجتمبا اشتراک یا هر رب منطقبی دیگبر ببی کالسهای بهوجود آمده از الیه میبانی. و ح مسای غیرتفکیوپذیر خطی. شبکه با دو الیه مخفی الیببه مخفببی اوب: تشببکی خبب هببا و کالسهای خطی الیه مخفی دوم: تشکی چندضلعیهبا و کالسهای غیرخطی. الیبه خروجبی )شببکه(: مجموعبهای از کبالسهبای غیرخطبی کبه در فضبای ورودی از یکدیگر فاصله دارند.
سواب اساسی: آیا افزایش الیهها و پیچیدهکردن ساختار شبکه الزاما به معنای توانمند کردن آن است یو شبکه با یوالیهمخفی )دوالیه( و تعداد مناسب سبلوب مخفبی به صورت تئوری قادر به ح تمامی مسای دستهبندی است. در بعضی از مسای یو شبکه با دوالیه مخفی )سه الیه( حجم محاسبات )تعداد نرونهای الزم( را کاهش خواهد داد. مانند شک اسالید قب هنگامی که اعضای یو کالس در گبروههبای پراکنبدهای قر ا ر گر ف ت ه ا ند ا س ت ف ا د ه ا ز ی و ال ی ب ه م خ ف ب ی ا ض ب ا ف ی ب ب ه س بر ع ت و ک ب ا ه ش ح ج بم محاسبات کمو میکند. در صورت استفاده از فق یو الیه مخفی ممکب اسبت م ج ب و ر ش و یم ت عد ا د ز ی ا د ی نرون د ر ال ی ه م خ ف ب ی ق بر ا ر د ه ب یم ت ب ا ش ب بک ه ب ت و ا ن بد ب ب ه درستی دستهبندی را انجام دهد. افزایش پارامترها و پیچیدگی زیاد مدب کمبود داده آموزشی
شبکه های عصبی چندالیه پیش خور شبکه پرسپترون چندالیه شبکه عصبی با پس انتشار خطا )Feed-forward multi-layer - FF( )Multi-Layer Perceptron - MLP( )Back-Propagation Net - BP(
ساختار شبکه چندالیه و نحوه نام گذاری پارامترها الیه خروجی بایاس w 0k w jk وزن های بین الیه میانی و الیه خروجی الیه میانی ورودی»بایاس» v 0j v ij وزن های بین الیه ورودی و الیه میانی الیه ورودی
)back propagation of error( )back propagation( )Generalized Delta-Rule( 1969 و انتشار توسب و ببه در ساب 1986. قانونآموزش پسانتشار خطا یا به اختصار پسانتشار نام دیگر قانون دلتای تعمیمیافته معرفی توس Bryson & Ho در ساب نام Rumelhurt & Hinton & Williams ایده: روش گرادیان نزولی Descent( )Gradient با هدف کاهش مجمبو مجذور خطای شبکه توس تغییرات مناسب پارامترها )وزنهای( آن. f(x1,x2,,x n ) یادآوری: تعریف بردار گرادیان: f f x f, x f,, 1 2 xn
ویژگیهای الزامی برای تبابع فعالیبت شببکه در آمبوزش ببا پسانتشار خطا )حالت استاندارد( پیوسته مشتقپذیر در تمام دامنه اکیدا صعودی ویژگی غیرالزامی سادگی محاسبه مثاب: تابع سیگموئید باینری و بایپوالر
تابع سیگموئید باینری f 1 (x) 1 1 e x عالوه بر داشت سه ویژگی اصلی: پیوستگی مشتقپذیری اکیدا صعودی مزیت آن ای است که مشتق آن بسیار ساده و به کمو خود تابع محاسبه میشود: -x e (x) f (x) 1 f (x) f1 x 2 1 1 1 e
تابع سیگموئید بایپوالر x 1 e f2(x) x 1 e مزایای پیوستگی مشتقپذیری اکیدا صعودی و راحتی محاسبه را هماننبد سیگموئید باینری دارد. -x 2e 1 f2 (x) x 2 2 2 1 e 2 مناسب برای خروجی های بایپوالر 1 f (x) 1 f (x)
فاز یکم: محاسبه خروجی شبکه از الیه ورودی به سمت جلو قرار گرفت ورودی در ورودی شبکه محاسبه خروجی الیه میانی )مخفی( محاسبه خروجی الیه خروجی
فاز دوم: پسانتشار خطا از الیه خروجی به سمت عقب محاسبه فاکتور خطا در الیه خروجی محاسبه تغییرات وزن و بایاس بی الیه میانی و خروجی محاسبه فاکتور خطا در الیه میانی محاسبه تغییرات وزن و بایاس بی الیه ورودی و میانی
فاز سوم: ا عماب و بهروزآوری تغییرات وزن و بایاس. ا عماب تمامی تغییر وزنها )و بایاس( که در فاز قب محاسبه شده بود. الگوریتم آموزش در هر تکرار و برای هر الگبو سبه مرحلبه دارد: محاسبه خروجی به صورت مستقیم forward( )feed محاسبه و انتشار خطا به صورت عقبگرد propagation( )back تغییر و تنظیم وزنها adjustment( )weight
الگبوریتم اسبتفاده فقب یو مرحله دارد: محاسبه خروجی پس ممک است سبرعت آمبوزش شبکه کم باشد امبا وقتبی آمبوزش انجام گرفت سرعت شبکه در پاسخ به ورودی مناسب و معقوب است. توجه مهم: خروجبی نهبایی شببکه حاصببب تبببابع فعالیبببت )مبببثال سیگموئید( اسبت و تقریببا همیشبه تفاوت اندکی با مقدار جواب مبورد نظر دارد.
نکاتی درباره الگوریتم آموزش مث شبکههای توالیه یو الگوی ورودی ممک است بارها و بارها ببه شبکه آموزش داده شود. تا هنگام از بی رفت یا کاهش خطا تا نرخ قاب تحم. بسیار مهم است که تغییر وزنها بعد از محاسبه تمامی فاکتورهای خطبا در شبکه اعماب شود. دلی : محاسبه خطای الیه قب وابسته به وزنهای بی دوالیه است. ایده اصلی کم کردن خطا به روش گرادیان نزولی است. تابع گرادیان میزان خطا و متغیر وزنهای شبکه است. عالمت گرادیان نشاندهنده جهتی است که خطا در حاب زیاد شدن است پبس اگر در خالف جهت گرادیان حرکت کنیم خطا کاهش مییابد.
f(x1,x2,,x f f x f, x n ) f,, 1 2 xn بردار گرادیان تعبیبر هندسبی: نشباندهنبده جهبببت و انبببدازه بیشبببتری تغییرات )افبزایش( یبو تبابع چندپارامتری. روش گرادیان نزولی: اگر خالف جهت بردار گرادیان حرکت کنیم ببه سبمت نقطبه مینیمم تابع در حرکت هستیم! انبببدازه ببببردار گرادیبببان نشباندهنبده میبزان دوری یبا نزدیکب ی بب ه نقطب ه اکسب ترمم است پس طوب گام را میتوان متناسب با آن انتخاب کرد.
مثاب: عملکرد روش کاهش گرادیان در یو تابع دومتغیره.
E y k 1 2 فرض اولیه: تابع خطا فق برای یو الگو نوشته شده است. k f(y ink (tk yk) ) 2 برای وزن های بی الیه میانی و الیه خروجی داریم: E w JK w JK 1 2 k (t k y k ) 2 (t K yk) f(yin ) K wjk y ink j z j w jk (t K y K ) f(y ink ) w JK j z j w jk E w JK (t K y K ) f(y ink ) z J Δw JK E α w JK α δ K z J δ K (t K y K ) f(y ink )
برای وزن های بی الیه ورودی و الیه میانی داریم: E y y k ink z z 1 2 j in j k f(y j f(z i (tk yk) ink z j in j x ) w ) i v jk ij 2 E v IJ E v IJ v IJ k k k (t 1 2 k k y (t k k y k ) f(y ) ink 2 ) v δk wjkf(z ) xi Δv δ J inj IJ IJ k (tk yk) f(y ) ink v IJ E α v k j IJ z δk wjk zj δ k wjk f (z ) x inj iv v IJ k v IJ i j w jk α δ J x δ w f(z ) k Jk inj I ij
در صورت افزایش الیههبای مخفی شببکه تمبامی اعمباب برای هبر یبو از الیبههبای مخفی تکرار میشود. در فباز 1 محاسببه فعالیبت نبرونهبا از الیبه ورودی ببه سمت جلو. در فاز 2 محاسبه فاکتور خطا از الیبه خروجبی ببه سبمت عقب. در فاز 3 تغییبر وزن تمبامی الیهها.
فببباز 1: پبببیشخبببور )feedforward( محاسبه فعالیت سلوب ها با شرو از الیه ورودی به صورت مسبتقیم تبا الیه خروجی.
فببباز 2: پبببس انتشبببار خطبببا )backpropagation of error( محاسبه فاکتور خطا ببا شبرو از الیه خروجی به صورت معکبوس تا الیه ورودی.
فاز 3: اعماب تغییرات اوزان و بایاس )update weights & biases( اعمبباب تمببامی تغییببرات وزن و بایاس کبه در فباز قبب محاسببه شده بود.. اگر بیش از دو الیه مخفی وجود داشت تمامی مراح شده برای الیههای مخفی اضافی تکرار میشود. ذکبر در عم بیش از دو الیه مخفی استفاده نمیشود.
Δw JK α δ K z J α (t K y K ) f(y ink ) z J انتخاب وزن های اولیه تاثیر مستقیم در همگرایی و سرعت آن. وزن های اولیه صفر: سرعت همگرایی بسیار کم. تقویت احتماب گیرافتادن در مینیممهای محلی. وزن های اولیه خیلی کوچو: فعالیت سلوب ها به صفر نزدیو شده و بنابرای سرعت همگرایی کاهش می یابد. وزنهای اولیه خیلی بزرگ: مقدار مشتق تابع فعالیت سیگموئید به صفر نزدیو شده و بنابرای سرعت همگرایی کاهش مییابد. انتخاب مناسب: وزنهای تصادفی بی ]0/5 و 0/5-[ روش Nguyen-Widrow جهت تصحیح وزنهای اولیه 0.7 n p نرماب کردن وزنهای متص به هر سلوب الیه مخفی v ij (old) a random number between -.5,.5 βv (old) v ij ij V 2 2 j(old) Vj (old) v1j(old) vnj(old) a random number between v 0j,
شرط خاتمه الگوریتم چون هدف الگوریتم کاهش خطای شبکه است در نگاه اوب به نظبر مبیرسبد شرط خاتمه مناسب رسیدن خطای کلی شبکه به مقدار قاب تحم است. هدف کلی: برقراری تعادب )balance( بی قدرت بهیادسپاری )memorization( و قابلیبت تعمیم.)generalization( بهیادسپاری یعنی پاسخ درست به ورودیهای آموزش دیده. تعمیم یا عمومیت بخشی یعنی پاسخ مناسب به ورودیهایی مشابه ورودیهای آموزش دیده. اشکاب عمده ای روش ای است که ممک است شبکه در ازای کاهش خطا قابلیت جامع نگری و تعمیم را از دست بدهد. روش Hecht-Nielsen برای تعیی شرط خاتمه تفکیوالگوها به دو دستهمجزای آموزشی )training( و آموزشی-آزمایشی روند آموزش و تغییر اوزان به کمو الگوهای آموزشی طی میشود. در فاصلههای زمانی مشخص خطای شبکه برای الگوهای آموزشی-آزمایشی محاسبه میشود. هرگاه خطای الگوهای آموزشی-آزمایشی رو به افزایش گذاشت روند آموزش پایان مییابد. در ای نقطه شبکه قابلیت تعمیم را فدای قابلیت بهیادسپاری میکند. )training-testing(
تعداد الگوهای آموزشی مورد نیاز سواب: تحت چه شرایطی مبیتبوان خباطرجمع ببود شببکهای کبه درصد مشخصی از الگوهای آموزشی را درست دستهبندی میکند میتواند الگوهای آزمایشی را نیز بهدرستی دستهبندی کند در شرای خاص اگر شبکه به گونهای آموزش دیده بود که بتوانبد کسبر )0<e1.8( از الگوهای آموزشی را به درستی دستهبنبدی کنبد 2/e-1 آیا میتوان مطمئ بود که کسر e-1 از الگوهای آزمایشی را نیز درسبت دستهبندی کند جواب: اگر الگوهای آموزشی به اندازه کافی باشد شبکه قادر خواهبد ببود قابلیبت تعمیم را به اندازه مورد نظر بهدست بیاورد: Haussler( )Baum & تعداد الگوهای آموزشی مورد نیاز: W P e تعداد وزنهای شبکه( )W
نو ورودی و خروجی شبکه داده های باینری و بایپوالر»صفر«بودن ورودی یا خروجی باعث میشود یو سلوب آموزش نبینبد. به همی دلی توصیه میشود از دادههای بایپوالر برای ورودی و خروجی استفاده شود. سرعت همگرایی برای الگوهای باینری تقریبا یبو دهبم سبرعت ببرای الگوهبای بایپوالر است. داده های بایپوالر تغییریافته با توجه به ویژگی تابع فعالیت مشاهده میشبود دلیب بخشبی از خطبای نهایی فاصله خروجی مطلوب و خروجی واقعی است. مقادیر خروجی سلوب ها هیچ گاه به مقادیر نهایی 1-( و 1 )خ مجانب انتخاب خروجی مطلوب با توجه به واقعیت فوق. به عنوان مثاب: 0/8 یا -0/9 و 0/9 یا 0/8- نمی رسند.
مثاب: بررسی تاثیر نو ورودی-خروجی و همچنی روش Nguyen-Widrow )تصحیح وزنهای اولیه( در سرعت همگرایی شبکه -0/5 مساله XOR دو سلوب ورودی چهار سلوب میانی یو سلوب خروجی. شبکه با یو الیه مخفی وزنها و بایاسهای اولیه مقادیر تصادفی بی 0/5 و Iterations Binary XOR RANDOM 2891 NGUYEN- WIDROW 1935 v ij z 1 z 2 z 3 z 4 w jk z 1 z 2 y 1 0.4919-0.2913 Bipolar XOR 387 224 x 1 0.1970 0.3191-0.1448 0.3394 z 3-0.3979 Modified bipolar XOR Targets: +0.8, -0.8 264 127 x 2 1 0.3099-0.3378 0.1904 0.2771-0.0347 0.2859-0.4861-0.3329 z 4 1 0.3581-0.1401
ورودی-خروجی های پیوسته و چندمقداره ورودی ها و خروجی ها می توانند مقادیر پیوسته باشند. مانند: درجه حرارت یو اتاق که بر حسب درجه سانتیگراد بیان شده است. ورودی ها یا خروجی های شبکه می توانند مقادیر جداگانه در یو محدوده باشند. مانند درجه حرارت یو اتاق که با یکی از کلمات: ]انجماد سرد خنو ولرم گبرم دا جوش[ بیان شده باشد. آموزش الگوهای پیوسته از الگوهای چندمقداره دشوارتر است. الگوهای پیوسته را میتوان به کمبو چنبدیسبازی )quantization( ببه الگوهبای چندمقداره تبدی کرد در ای صورت جبواب شببکه در مرزهبای تفکیبو دقیبق نخواهد بود.
به روزآوری دسته ای )batch-updating( تغییر وزنها در انتهای یو تکرار چند الگو اعماب میشود. )iteration( یا بعد از آمبوزش در ای صورت تغییر وزن ها حاص جمع تغییر وزن الگوهای آموزش داده شده است. مزیت: منحنی تغییرات خطا را نرم کرده و باعث سرعت بیشتر الگبوریتم آموزش میشود. عیب: شود. ممک است در بعضی از مسای باعث همگرایی در مینبیمم محلبی
به روز آوری به روش شتاب )گشتاور( )momentum( تغییر وزنها به گرادیان در لحظه جاری و گرادیان در لحظه قب وابسبته است. μ [0,1] Δw Δv jk (t 1) αδ (t 1) αδ k x z j μ Δw μ Δv jk (t) (t) ij j i ij اثر لحظه قب باقی میماند. اگر در چند لحظه متوالی جهت تغییرات در یو راستا بود تغییر وزنها بزرگتر میشود. اگر در چند لحظه متوالی جهت تغییرات در یو راستا نبود تغییر وزنها کوچکتر میشود. مزیت در مواقعی که ورودیهای خیلی دور )out-lying( از ورودیهای درست داریم. ای ورودیها در حالت عادی باعث آشفتگی در تغییر وزنها و عدم همگرایی میشوند. ای روش ممک است شبکه را از گیرافتادن در مینیممهای محلی نجات بخشد.
نرخ آموزش متغیر ایده: افزایش نرخ آموزش برای الگوهای دستهای که تعداد اعضای آن خیلی کمتر از اعضای دستههای دیگر باشد. ایده: در هنگام دور بودن از جواب نرخ آموزش زیباد و در هنگبام نزدیکی به جواب کم باشد. ایده: نرخ آموزش هر وزن مخصوص به خودش بوده و با توجه به میزان تغییرات آن وزن تغییر کند. روش delta-bar-delta ترکیب دو ایده فوق.
با توجه به عملکرد مورد انتظار شبکه می تبوان تبابع فعالیبت آن را تغییر داد. تابع سیگموئید با برد معی محدوده ب رد تابع سیگموئید نرون های الیه خروجی نو خروجی شببکه را معی می کند. سیگموئید باینری و سیگموئید بایپوالر برای داده های باینری و بایپوالر. تابع سیگموئید برای داده های محدوده پیوسته m n a f(x) b a 1 1 e x ]a, b[ g(x) g(x) mf(x) n 1 m n g(x) m n g(x)
تابع سیگموئید با شیب متغیر میتوان شیب یا تندی )steepness( یو تبابع سبیگموئید را ببه کمبو 1 پارامتر در فرموب زیر تعیی کرد: f(x) σx 1 e σ f(x) نکته: گاهی شیب تابع فعالیت نیز در الگوریتم آموزش متغیر است. f(x) 1 f(x) افزایش
توابع فعالیت غیراشباعی )non-saturating( توابعی که خ مجانب ندارند و به طور معموب به مقبدار نهبایی مطلبوب می رسند. تابع لگاریتمی )logarithmic( 1 f(x) log(1 x) log(1 x) x 0 x 0-1 0
توابع فعالیت غیرسیگموئید توابع شعا محور )radial-basis( توابعی که در ک دامنه مقدار غیرمنفی دارند و فعالیت آنها حوب یو نقطبه ببه اوج خود میرسد. هرچه نقطه ورودی از مرکز ای توابع دور باشد فعالیت تابع ضبعیفتبر میشود. مثاب: تابع گوسی )Gaussian( استفاده در الیه مخفی شبکه عصبی با توابع با سطح مقطع حلقوی )Radial-Basis Function Neural Network - RBFNN( f(x) e f (x) x 2 2x f(x)
دستهبندی classification بهینهسازی optimization مدبسازی modeling تخمبی و تقریبب تواببع & approximation function estimation درونیابی و برونیابی interpolation & extrapolation پیشبینی prediction فشردهسازی compression
1.0 0.8 0.6 0.4 0.2 0.0 x 2 x 1 0.00-0.01 0.00-0.03 0.00-0.00 0.00 0.01 0.00 0.02 0.00-0.02 0.0 0.00-0.05-0.90-0.91-0.56-0.59 0.56 0.57 0.90 0.84 0.00-0.02 0.2 0.00-0.12-0.56-0.55-0.36-0.32 0.36 0.33 0.56 0.57 0.00-0.02 0.4 0.00-0.09 0.56 0.53 0.36 0.37-0.36-0.35-0.56-0.57 0.00-0.02 0.6 0.00-0.01 0.90 0.97 0.56 0.51-0.56-0.55-0.90-0.89 0.00-0.03 0.8 0.00 0.00 0.00 0.02 0.00 0.03 0.00 0.00 0.00-0.01 0.00-0.02 1.0 مسبباله: تخصببیص خروجببی طبببق فرموب زیر به هر زوج ( 2 )x 1, x y = sin(2x 1 ).sin(2x 2 ) ورودی: اعداد حقیقی در محدوده ]1 0[, ببا فاصله 0/2 شبکه با یو الیه مخفی شام 10 سلوب. تابع فعالیت الیبه مخفبی لگباریتمی و الیبه خروجی: تابع همانی. با نرخ آموزش 0/05 بعد از 5000 تکبرار به نرخ خطای مجذور 0/024 رسیدهایم. سببطر اوب هببدف )target( و سببطر دوم خروجی شبکه )output( بعد از آموزش. تخمی تابع تقریب تابع درون یبابی و برون یابی مدب سازی بهینه سازی.
کاهش ابعاد فضای ویژگی به کمو شبکه عصبی. هدف: به جای 63 ویژگی تعداد کمتری ویژگی برای نمایش و تشخیص کاراکتر داشته باشیم. شبکه عصبی با یو الیه مخفی 63 ورودی 63 سلوب خروجی. ورودی و خروجی شبکه یکسان است. )یو کاراکتر به عنوان ورودی و خروجبی یو الگو داده میشود.( سواب: تعداد سلوبهای میانی چه تعداد باشد
سلوبهای الیه میانی کمتبر از 63 انتخبباب مببیشببوند تببا هببدف فشردهسازی محقق گردد. در ایب صبورت پبس از آمبوزش شببکه عصببی )فعالیبت( سبلولهای میانی مبیتوانبد نمبایش خالصبه و فشردهای از کاراکتر ورودی باشد. حداق سبلولهای الیبه میبانی قابب محاسبه است. اگر N الگوی دوببهدو ببرهم عمبود log N داشب ته باشب یم حب داق بببه 2 سلوب میانی احتیاج داریم. فشرده سازی مدب سبازی تخمبی تابع
قضیه Hecht-Nielsen فرض کنیم f یو تابع پیوسته به شک f:i n R m کبه در آن I ببازه بسته ]1 0[, است. در ای صورت تابع f میتواند توسب یبو شببکه پیشخور با n ورودی 1+2n سلوب مخفبی و m خروجبی مبدب شبود. )تقریب زده شود.( توابع فعالیت سلولهای مخفی مسبتق از f و صبعودی هسبتند و تواببع فعالیت سلولهای خروجی به f وابسته هستند. ای قضیه بر اساس قضایای نتیجه مستقیم قضیه: Kolmogorov و Sprecher بیان شده است. هر مساله دستهبندی تقریب و تخمی بهینهسازی... توس یو شبکه عصبی با فق یو الیه مخفی قاب ح است!